package com.itheima.tliasmanagementspringboot.service;

import com.itheima.tliasmanagementspringboot.pojo.Emp;
import com.itheima.tliasmanagementspringboot.common.PageBean;
import com.itheima.tliasmanagementspringboot.dtos.PageDto;
import com.itheima.tliasmanagementspringboot.pojo.Result;

import java.util.List;
import java.util.Map;

public interface EmpService {
    /**
     * 功能:查询全部员工信息
     * @return 查询到的信息的集合
     */
    List<Emp> queryAllEmpService();

    /**
     * 功能: 根据id查询员工信息
     * @return 查询到的员工信息的集合
     *
     *
     */
    Emp queryEmpByConditionService(Integer id);



    /**
     * 功能: 根据id查删除员工信息
     *
     */
    void deleteEmpByIds(Integer[] ids);

    /**
     * 功能: 添加/插入一条员工信息
     *
     * @param emp
     */
    void insertEmpService(Emp emp);

    /**
     * 功能:根据id更新员工信息
     * @param emp :员工id
     *
     */
    void updateEmpByIdService(Emp emp);

    /**
     *
     * @param pageDto 请求参数
     * @return 返回的是封装后的查询到的数据集合和总条数的对象
     */
    PageBean<Emp> pageQueryEmpService(PageDto pageDto);

    /**
     * 根据行呗统计员工人数
     */
    List<Map<String, Integer>> queryCountGroupByGenderService();

    Map<String, List<Object>> queryCountGroupByJobService();

    Emp loginOperationService(Emp emp);
}
